package com.tarena.lbs.basic.service.impl;

import com.tarena.lbs.basic.dao.repository.TagRepository;
import com.tarena.lbs.basic.pojo.vo.TagLibraryVO;
import com.tarena.lbs.basic.pojo.vo.TagVO;
import com.tarena.lbs.basic.service.TagService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.*;

@Service
public class TagServiceImpl implements TagService {
    @Resource
    private TagRepository tagRepository;

    public Map<String, List<TagVO>> getArticleTags() {
        List<TagLibraryVO> libraryVOS = tagRepository.queryTagLibrary();
        Map<String, List<TagVO>> map = new HashMap<>();
        for (TagLibraryVO vo : libraryVOS) {
            List<TagLibraryVO> childrenVO = tagRepository.queryChildren(vo.getId());
            List<TagVO> list = new ArrayList<>();
            childrenVO.forEach(item -> {
                TagVO tv = new TagVO();
                tv.setTagCategoryName(item.getTagName());
                tv.setTagLibraryBO(item);
                list.add(tv);
            });
            map.put(vo.getTagName(), list);
        }
        return map;
    }
}
